=over

=item bless REF,CLASSNAME
X<bless>

=item bless REF

This function tells the thingy referenced by REF that it is now an object
in the CLASSNAME package.  If CLASSNAME is an empty string, it is
interpreted as referring to the C<main> package.
If CLASSNAME is omitted, the current package
is used.  Because a L<C<bless>|/bless REF,CLASSNAME> is often the last
thing in a constructor, it returns the reference for convenience.
Always use the two-argument version if a derived class might inherit the
method doing the blessing.  See L<perlobj> for more about the blessing
(and blessings) of objects.

Consider always blessing objects in CLASSNAMEs that are mixed case.
Namespaces with all lowercase names are considered reserved for
Perl pragmas.  Builtin types have all uppercase names.  To prevent
confusion, you may wish to avoid such package names as well.
It is advised to avoid the class name C<0>, because much code erroneously
uses the result of L<C<ref>|/ref EXPR> as a truth value.

See L<perlmod/"Perl Modules">.

=back